1
Concevoir un code évolutif et lisible
AI034Lesson 7
00:00

Lorsque votre base de code dépasse quelques centaines de lignes, elle se transforme d'un simple script en un système. Pour éviter une surcharge cognitive, Rust utilise un système hiérarchique de module pour partitionner les fonctionnalités en limites logiques et gérables.

1. L'impératif de l'évolutivité

Dans un système volumineux, vous n'avez pas besoin de garder toute l'architecture en tête. Les modules vous permettent d'isoler les détails d'implémentation, en exposant uniquement ce qui est nécessaire via une API publique.

Paquet : restaurantRacine du cratesrc/lib.rs (Bibliothèque)Racine du cratesrc/main.rs (Exécutable)

2. L'architecture à deux crates

Un seul paquet Rust paquet sert de conteneur. Il peut contenir à la fois une crate bibliothèque (src/lib.rs) pour la logique principale et une crate exécutable (src/main.rs) pour le point d'entrée exécutable. Cela garantit une séparation claire entre ce que le système fait et comment l'utilisateur interagit avec lui.

3. Fondations organisationnelles

En initialisant avec cargo new --lib, vous privilégiez la modularité. Dans un système de gestion de restaurant, « Front de maison » (accueil) et « Arrière-boutique » (cuisiner) sont séparés, permettant à plusieurs interfaces (CLI, Web, Mobile) de partager la même logique de bibliothèque principale.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>